Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.beans.beancontext
Interface BeanContextServiceProvider

All Known Implementing Classes:
  BeanContextServicesSupport.BCSSProxyServiceProvider

public interface BeanContextServiceProvider

One of the primary functions of a BeanContext is to act a as rendezvous between JavaBeans, and BeanContextServiceProviders.

A JavaBean nested within a BeanContext, may ask that BeanContext to provide an instance of a "service", based upon a reference to a Java Class object that represents that service.

If such a service has been registered with the context, or one of its nesting context's, in the case where a context delegate to its context to satisfy a service request, then the BeanContextServiceProvider associated with the service is asked to provide an instance of that service.

The ServcieProvider may always return the same instance, or it may construct a new instance for each request.

Method Summary
`Iterator` | `getCurrentServiceSelectors(BeanContextServices bcs, Class serviceClass)` Invoked by `BeanContextServices`, this method gets the current service selectors for the specified service.
`Object` | `getService(BeanContextServices bcs, Object requestor, Class serviceClass, Object serviceSelector)` Invoked by `BeanContextServices`, this method requests an instance of a service from this `BeanContextServiceProvider`.
`void` | `releaseService(BeanContextServices bcs, Object requestor, Object service)` Invoked by `BeanContextServices`, this method releases a nested `BeanContextChild`'s (or any arbitrary object associated with a `BeanContextChild`) reference to the specified service.

Method Detail

### getService

    public Object getService(BeanContextServices bcs,
                             Object requestor,
                             Class serviceClass,
                             Object serviceSelector)

  Invoked by `BeanContextServices`, this method requests an instance of a service from this `BeanContextServiceProvider`.

  Parameters:
    `bcs` - The `BeanContextServices` associated with this particular request. This parameter enables the `BeanContextServiceProvider` to distinguish service requests from multiple sources.
    `requestor` - The object requesting the service
    `serviceClass` - The service requested
    `serviceSelector` - the service dependent parameter for a particular service, or `null` if not applicable.
  Returns:
    a reference to the requested service

### releaseService

    public void releaseService(BeanContextServices bcs,
                               Object requestor,
                               Object service)

  Invoked by `BeanContextServices`, this method releases a nested `BeanContextChild`'s (or any arbitrary object associated with a `BeanContextChild`) reference to the specified service.

  Parameters:
    `bcs` - the `BeanContextServices` associated with this particular release request
    `requestor` - the object requesting the service to be released
    `service` - the service that is to be released

### getCurrentServiceSelectors

    public Iterator getCurrentServiceSelectors(BeanContextServices bcs,
                                               Class serviceClass)

  Invoked by `BeanContextServices`, this method gets the current service selectors for the specified service. A service selector is a service specific parameter, typical examples of which could include: a parameter to a constructor for the service implementation class, a value for a particular service's property, or a key into a map of existing implementations.

  Parameters:
    `bcs` - the `BeanContextServices` for this request
  Returns:
    the current service selectors for the specified serviceClass

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.4.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.